package cn.zkw.mapping;

import cn.zkw.vo.Article;

import java.util.List;
import java.util.Map;

public interface IArticleDao {
    //更新浏览量
    Integer updateView(Article article);

    //文章添加
    Integer addArticle(Article article);

    //分页查询
    List<Article> splitArticle(Integer num);

    //后台分页查询
    List<Article> splitArticleback(Integer num);

    //文章总数量
    Integer selectArticleAllNum();

    //文章修改
    Integer updateArticle(Article article);

    /**
     * 根据文章sort分页查询
     * @param map sort_id 文章类别,num 当前页
     * @return
     */
    List<Article> splitArticleBySort(Map<String,Object> map);

    /**
     * 根据文章搜索查询
     * @param map num当前页   keyword 关键词
     * @return
     */
    List<Article> splitArticleByKeyWord(Map<String,Object> map);

    //文章总数量
    Integer selectArticleAllNum_BySort(Integer sort_id);

    //文章关键字搜索_统计总数
    Integer selectArticleAllNum_ByKeyWord(Map<String,Object> map);

    //首页分页预览查询,num为查询的条数,以最新发布的文章开始排序
    List<Article> preSplitArticle(Integer num);

    //根据id查询文章
    Article selectArticleById(Integer article_id);

    /**
     * 根据id list删除文章
     * @param idList
     * @return
     */
    Integer deleteArticleSet(List<Integer> idList);

    /**
     * 根据标签id查询热门文章
     * @param label_id
     * @return
     */
    List<Article> selectArticleByLabelId(Integer label_id);

    /**
     * 根据文章热度查询5篇文章
     * @return
     */
    List<Article> selectArticleByView();
}
